package pers.cj.pdos.mapper;

import org.apache.ibatis.annotations.Param;
import pers.cj.pdos.entity.GoodsTransfer;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import pers.cj.pdos.vo.GoodsTransferVo;
import pers.cj.pdos.vo.JoinSplitVo;

import java.util.Date;
import java.util.List;

/**
 * <p>
 *  Mapper 接口
 * </p>
 *
 * @author chenj
 * @since 2019-11-04
 */
public interface GoodsTransferMapper extends BaseMapper<GoodsTransfer> {
    List<GoodsTransferVo> listVo(@Param("companyId") String companyId,
                                 @Param("page") Integer page,
                                 @Param("limit") Integer limit,
                                 @Param("close") Boolean close,
                                 @Param("search") String search,
                                 @Param("no") String no,
                                 @Param("goodsName") String goodsName,
                                 @Param("remark") String remark,
                                 @Param("date1") Date date1,
                                 @Param("date2")Date date2,
                                 @Param("outStoreId")String outStoreId,
                                 @Param("inStoreId")String inStoreId,
                                 @Param("userStoreId") String userStoreId,
                                 @Param("userId") String userId,
                                 @Param("makeTime1") Date makeTime1,
                                 @Param("makeTime2")Date makeTime2,
                                 @Param("outHouseId")String outHouseId,
                                 @Param("inHouseId")String inHouseId,
                                 @Param("makeUserId")String makeUserId,
                                 @Param("outStatus")Integer outStatus,
                                 @Param("inStatus") Integer inStatus);

    Long count(@Param("companyId")String companyId,
               @Param("close") Boolean close,
               @Param("search") String search,
               @Param("no") String no,
               @Param("goodsName") String goodsName,
               @Param("remark") String remark,
               @Param("date1") Date date1,
               @Param("date2")Date date2,
               @Param("outStoreId")String outStoreId,
               @Param("inStoreId")String inStoreId,
               @Param("userStoreId") String userStoreId,
               @Param("userId") String userId,
               @Param("makeTime1") Date makeTime1,
               @Param("makeTime2")Date makeTime2,
               @Param("outHouseId")String outHouseId,
               @Param("inHouseId")String inHouseId,
               @Param("makeUserId")String makeUserId,
               @Param("outStatus")Integer outStatus,
               @Param("inStatus") Integer inStatus);

    GoodsTransferVo getVoById(@Param("id") String id);

    List<GoodsTransferVo> listVoByIds(@Param("ids") List<String> ids);
}
